class Bass(Instrument):
  def __init__(self):
    Instrument.__init__(self)
    self.shape='sawtooth'
    self.adsr=[0.01, 0.01, 0.35, 0.05]

class Kick(Instrument):
  def __init__(self):
    Instrument.__init__(self)
    self.shape = 'square'
    self.adsr=[0.025, 0.08, 0, 0]
    self.basepitch = 60
    self.basefreq = 40.0

class Snare(Instrument):
  def __init__(self):
    Instrument.__init__(self)
    self.shape = 'noise'
    self.adsr=[0, 0.6, 0, 0.6]
    self.basepitch = 62
    self.basefreq = 100.0

class ShortSnare(Snare):
  def __init__(self):
    Snare.__init__(self)
    self.adsr=[0, 0.4, 0, 0.4]
    self.basepitch = 64

def MapDrums(track):
    track.Map(Kick(), 60)
    track.Map(Snare(), 62)
    track.Map(ShortSnare(), 64)

class CounterSynth(Instrument):
  def __init__(self):
    Instrument.__init__(self)
    self.shape='square'
    self.adsr=[0, 0, 0.2, 2]

class Chimes(Instrument):
  def __init__(self):
    Instrument.__init__(self)
    self.shape='triangle'
    self.adsr=[0.01, 4, 0, 4]
    self.basefreq = 880.0
